home *** CD-ROM | disk | FTP | other *** search
-
-
-
- VVVVLLLLSSSSEEEETTTTCCCCOOOONNNNTTTTRRRROOOOLLLLTTTTRRRRIIIIGGGGGGGGEEEERRRR((((3333ddddmmmm)))) VVVVLLLLSSSSEEEETTTTCCCCOOOONNNNTTTTRRRROOOOLLLLTTTTRRRRIIIIGGGGGGGGEEEERRRR((((3333ddddmmmm))))
-
-
-
- NNNNAAAAMMMMEEEE
- vlSetControlTrigger, vlSetControlInLine - frame-accurate setting of
- control VL values
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////vvvvllll....hhhh>>>>
-
- iiiinnnntttt vvvvllllSSSSeeeettttCCCCoooonnnnttttrrrroooollllTTTTrrrriiiiggggggggeeeerrrr((((VVVVLLLLSSSSeeeerrrrvvvveeeerrrr ssssvvvvrrrr,,,, VVVVLLLLPPPPaaaatttthhhh ppppaaaatttthhhh,,,, VVVVLLLLNNNNooooddddeeee ttttaaaarrrrggggeeeettttNNNNooooddddeeee,,,,
- VVVVLLLLTTTTrrrriiiiggggggggeeeerrrrTTTTyyyyppppeeee ttttrrrriiiiggggggggeeeerrrrTTTTyyyyppppeeee,,,, VVVVLLLLTTTTrrrriiiiggggggggeeeerrrrDDDDaaaattttaaaa ****ttttrrrriiiiggggggggeeeerrrrDDDDaaaattttaaaa,,,,
- VVVVLLLLCCCCoooonnnnttttrrrroooollllTTTTyyyyppppeeee ccccoooonnnnttttrrrroooollllTTTTyyyyppppeeee,,,, VVVVLLLLCCCCoooonnnnttttrrrroooollllVVVVaaaalllluuuueeee ****vvvvaaaalllluuuueeee))));;;;
- iiiinnnntttt vvvvllllSSSSeeeettttCCCCoooonnnnttttrrrroooollllIIIInnnnLLLLiiiinnnneeee((((VVVVLLLLSSSSeeeerrrrvvvveeeerrrr ssssvvvvrrrr,,,, VVVVLLLLPPPPaaaatttthhhh ppppaaaatttthhhh,,,, VVVVLLLLNNNNooooddddeeee ttttaaaarrrrggggeeeettttNNNNooooddddeeee,,,,
- VVVVLLLLNNNNooooddddeeee rrrreeeeffffNNNNooooddddeeee,,,, VVVVLLLLCCCCoooonnnnttttrrrroooollllTTTTyyyyppppeeee ttttyyyyppppeeee,,,, VVVVLLLLCCCCoooonnnnttttrrrroooollllVVVVaaaalllluuuueeee ****vvvvaaaalllluuuueeee))));;;;
-
- PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
- _s_v_r The handle for the video server to use.
-
- _p_a_t_h Specifies a handle to the path.
-
- _t_a_r_g_e_t_N_o_d_e
- Specifies the node on which the control resides (VL_ANY
- specifies any node)
-
- _t_r_i_g_g_e_r_T_y_p_e
- Specifies the type of trigger used to trigger the control
- change.
-
- _t_r_i_g_g_e_r_D_a_t_a
- Specifies data specific to the given _t_r_i_g_g_e_r_T_y_p_e used to trigger
- the control change.
-
- _r_e_f_N_o_d_e Specifies the memory node which provides the source of video
- fields
-
- _t_y_p_e Specifies the control type, as defined in <_d_m_e_d_i_a/_v_l._h>
-
- _v_a_l_u_e Specifies a pointer the control's values.
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- vvvvllllSSSSeeeettttCCCCoooonnnnttttrrrroooollllTTTTrrrriiiiggggggggeeeerrrr sets the specified control value at an exact point in
- the video stream defined by the associated trigger. The following types
- of triggers are currently defined:
-
- _V_L__T_R_I_G_G_E_R__M_S_C
- The control value is set based on a specified MSC (media stream
- counter - see vvvvllllGGGGeeeettttFFFFrrrroooonnnnttttiiiieeeerrrrMMMMSSSSCCCC(3dm)). The corresponding _t_r_i_g_g_e_r_D_a_t_a
- fields are:
-
- val.msc
- The control takes effect on the media stream sample whose MSC
- is val.msc. Specifying an MSC of 0 causes the control to be set
- before the first media stream sample, but not before
- vvvvllllBBBBeeeeggggiiiinnnnTTTTrrrraaaannnnssssffffeeeerrrr() is called. Because the MSC continues to
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- VVVVLLLLSSSSEEEETTTTCCCCOOOONNNNTTTTRRRROOOOLLLLTTTTRRRRIIIIGGGGGGGGEEEERRRR((((3333ddddmmmm)))) VVVVLLLLSSSSEEEETTTTCCCCOOOONNNNTTTTRRRROOOOLLLLTTTTRRRRIIIIGGGGGGGGEEEERRRR((((3333ddddmmmm))))
-
-
-
- increment during underflow/overflow on the path (see
- vvvvllllGGGGeeeettttFFFFrrrroooonnnnttttiiiieeeerrrrMMMMSSSSCCCC(3dm)), the occurrence of overflow/underflow
- can cause the control to be set on a media stream sample other
- than that intended. If a control change is specified at an MSC
- which has already occurred, it takes effect immediately and a
- _V_L_A_d_v_a_n_c_e_M_i_s_s_e_d event is generated.
-
- param.refNode
- The memory node with respect to which the MSCs are defined.
-
- _V_L__T_R_I_G_G_E_R__V_I_T_C
- The control value is set based on a specified Vertical Interval Time
- Code (VITC) value. The corresponding _t_r_i_g_g_e_r_D_a_t_a field is:
-
- val.vitc
- The control takes effect on the media stream sample whose VITC
- value is val.vitc (a _D_M_t_i_m_e_c_o_d_e structure - see
- <_d_m_e_d_i_a/_d_m__t_i_m_e_c_o_d_e._h>).
-
- _V_L__T_R_I_G_G_E_R__G_P_I
- The control value is set based on the occurrence of an external
- trigger (GPI). The corresponding _t_r_i_g_g_e_r_D_a_t_a field is:
-
- val.instance
- The control is set between the media stream sample during which
- an external trigger occurs on the specified trigger input
- (val.instance) and the following sample.
-
- vvvvllllSSSSeeeettttCCCCoooonnnnttttrrrroooollllIIIInnnnLLLLiiiinnnneeee sets a control value between two media stream samples
- flowing from a memory src node. The point at which the control is to be
- set is specified implicitly by the order of execution of the
- vvvvllllSSSSeeeettttCCCCoooonnnnttttrrrroooollllIIIInnnnLLLLiiiinnnneeee() call with respect to the order of calls to enqueue
- samples on the memory buffer associated with _r_e_f_N_o_d_e. Thus, for example,
- in the following code fragment:
-
- err = vlDMBufferPutValid(svr, path, refNode, buf1);
- err = vlSetControlInLine(svr, path, node, refNode, type, value);
- err = vlDMBufferPutValid(svr, path, refNode, buf2);
-
- the control is set between the sample contained in _b_u_f_1 and the sample
- contained in _b_u_f_2. vvvvllllSSSSeeeettttCCCCoooonnnnttttrrrroooollllIIIInnnnLLLLiiiinnnneeee works with both DMbuffers and
- vlBuffers. Making a vvvvllllSSSSeeeettttCCCCoooonnnnttttrrrroooollllIIIInnnnLLLLiiiinnnneeee() call before the first sample is
- enqueued, causes the control to be set before the first sample, but not
- before vvvvllllBBBBeeeeggggiiiinnnnTTTTrrrraaaannnnssssffffeeeerrrr() is called.
-
- The following statements apply to all frame-accurate control changes.
- Prior to issuing a control change request, vvvvllllSSSSeeeettttuuuuppppPPPPaaaatttthhhhssss(3dm)) must be
- called. A _V_L_C_o_n_t_r_o_l_C_h_a_n_g_e_d event is generated and the new control value
- becomes visible to the application when the control is actually set - not
- when the control change request returns. Some validity checking for a
- control change request may not occur until the time arrives to actually
- set the control. If validity checks fail at this time, the request is not
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- VVVVLLLLSSSSEEEETTTTCCCCOOOONNNNTTTTRRRROOOOLLLLTTTTRRRRIIIIGGGGGGGGEEEERRRR((((3333ddddmmmm)))) VVVVLLLLSSSSEEEETTTTCCCCOOOONNNNTTTTRRRROOOOLLLLTTTTRRRRIIIIGGGGGGGGEEEERRRR((((3333ddddmmmm))))
-
-
-
- executed and the application is notified via a _V_L_I_n_v_a_l_i_d_C_o_n_t_r_o_l event.
- All pending control change requests are flushed when the path chages
- state from VL_SHARE or VL_LOCK to VL_DONE_USING or VL_READ_ONLY.
-
- RRRREEEETTTTUUUURRRRNNNN VVVVAAAALLLLUUUUEEEE
- If successful, these functions return zero. A value of -1 indicates an
- error, and vvvvllllEEEErrrrrrrrnnnnoooo is set to the correct error number. If an error of
- VVVVLLLLVVVVaaaalllluuuueeeeOOOOuuuuttttOOOOffffRRRRaaaannnnggggeeee is returned the VL had to adjust the value passed in
- before using it. VVVVLLLLBBBBaaaaddddVVVVaaaalllluuuueeee means that the value was not set.
- VVVVLLLLBBBBaaaaddddCCCCoooonnnnttttrrrroooollll means that the control does not exist on the specified node
- or path. VVVVLLLLNNNNoooottttSSSSuuuuppppppppoooorrrrtttteeeedddd means that setting the specified control in a
- frame-accurate manner is not supported on the specified device.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- vlSetControl(3dm), vlGetFrontierMSC(3dm)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-